/**
 * @description: 将扁平化结构转换为树形结构
 * @param {Array} arrayList 扁平化数据
 * @param {String} idStr id的key名
 * @param {String} pidStr parentId的key名
 * @param {String} childrenStr children的key名
 * @return {Array} 树形结构数据
 */
export function format( {arrayList, idStr = 'id', pidStr = 'pid', childrenStr = 'children'} ) {
    let objs = {} // 用来储存{key: obj}格式的对象
    let treeList = [] // 用来储存最终树形结构数据的数组
    // 将数据变换成{key: obj}格式，方便下面处理数据
    arrayList.forEach(item=>{
        objs[item[idStr]] = item
    })
    arrayList.forEach(item=>{
        let hasParent = objs[item[idStr]][pidStr]
        console.log('hasParent=', hasParent)
        if (hasParent) {
            // 如果没有父级children字段，就创建一个children字段
            !haveParent[childrenStr] && (haveParent[childrenStr] = [])
            // 在父级里插入子项
            haveParent[childrenStr].push(arrayList[j])
        } else {
            // 如果没有父级直接插入到最外层
            treeList.push(item)
        }
    })
    console.log('扁平化=', objs)
}
